Index: ioemu/hw/mc146818rtc.c
===================================================================
---- ioemu.orig/hw/mc146818rtc.c 2006-07-27 11:17:18.007225084 +0100
-+++ ioemu/hw/mc146818rtc.c 2006-07-27 11:17:48.250876949 +0100
+--- ioemu.orig/hw/mc146818rtc.c 2006-08-04 10:42:19.796998954 +0100
++++ ioemu/hw/mc146818rtc.c 2006-08-04 10:42:26.456229392 +0100
@@ -178,10 +178,27 @@
}
}
static void rtc_copy_date(RTCState *s)
Index: ioemu/hw/pc.c
===================================================================
---- ioemu.orig/hw/pc.c 2006-07-27 11:17:47.993905398 +0100
-+++ ioemu/hw/pc.c 2006-07-27 11:17:48.251876839 +0100
+--- ioemu.orig/hw/pc.c 2006-08-04 10:42:26.185260705 +0100
++++ ioemu/hw/pc.c 2006-08-04 10:42:26.457229276 +0100
@@ -151,7 +151,7 @@
}
QEMUMachine pc_machine = {
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-07-27 11:17:48.126890676 +0100
-+++ ioemu/vl.c 2006-07-27 11:17:48.254876507 +0100
+--- ioemu.orig/vl.c 2006-08-04 10:42:26.324244644 +0100
++++ ioemu/vl.c 2006-08-04 10:42:26.459229045 +0100
@@ -164,6 +164,8 @@
int xc_handle;
qemu_mod_timer(gui_timer, qemu_get_clock(rt_clock));
Index: ioemu/vl.h
===================================================================
---- ioemu.orig/vl.h 2006-07-27 11:17:47.998904845 +0100
-+++ ioemu/vl.h 2006-07-27 11:17:48.254876507 +0100
+--- ioemu.orig/vl.h 2006-08-04 10:42:26.190260127 +0100
++++ ioemu/vl.h 2006-08-04 10:42:26.460228930 +0100
@@ -556,7 +556,7 @@
int boot_device,
DisplayState *ds, const char **fd_filename, int snapshot,
Index: ioemu/vnc.c
===================================================================
---- ioemu.orig/vnc.c 2006-07-27 11:16:52.783017443 +0100
-+++ ioemu/vnc.c 2006-07-27 11:17:00.722138579 +0100
+--- ioemu.orig/vnc.c 2006-08-04 10:42:19.575024607 +0100
++++ ioemu/vnc.c 2006-08-04 10:42:26.918176009 +0100
@@ -83,13 +83,16 @@
static void vnc_dpy_update(DisplayState *ds, int x, int y, int w, int h)
{
static void vnc_timer_init(VncState *vs)
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-07-27 11:17:00.311184072 +0100
-+++ ioemu/vl.c 2006-07-27 11:17:00.724138358 +0100
-@@ -4587,10 +4587,10 @@
+--- ioemu.orig/vl.c 2006-08-04 10:42:26.723198541 +0100
++++ ioemu/vl.c 2006-08-04 10:42:26.921175663 +0100
+@@ -4589,10 +4589,10 @@
/* XXX: better handling of removal */
for(ioh = first_io_handler; ioh != NULL; ioh = ioh_next) {
ioh_next = ioh->next;
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-07-27 11:17:00.724138358 +0100
-+++ ioemu/vl.c 2006-07-27 11:17:00.874121755 +0100
-@@ -6004,8 +6004,10 @@
+--- ioemu.orig/vl.c 2006-08-04 10:42:26.921175663 +0100
++++ ioemu/vl.c 2006-08-04 10:42:27.107154171 +0100
+@@ -6012,8 +6012,10 @@
kernel_filename, kernel_cmdline, initrd_filename,
timeoffset);
if (use_gdbstub) {
Index: ioemu/vnc.c
===================================================================
---- ioemu.orig/vnc.c 2006-07-27 11:17:00.722138579 +0100
-+++ ioemu/vnc.c 2006-07-27 11:17:00.875121644 +0100
+--- ioemu.orig/vnc.c 2006-08-04 10:42:26.918176009 +0100
++++ ioemu/vnc.c 2006-08-04 10:42:27.108154056 +0100
@@ -3,6 +3,7 @@
*
* Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>
}
Index: ioemu/vl.h
===================================================================
---- ioemu.orig/vl.h 2006-07-27 11:17:00.311184072 +0100
-+++ ioemu/vl.h 2006-07-27 11:17:00.875121644 +0100
-@@ -301,6 +301,7 @@
+--- ioemu.orig/vl.h 2006-08-04 10:42:26.724198425 +0100
++++ ioemu/vl.h 2006-08-04 10:42:27.108154056 +0100
+@@ -302,6 +302,7 @@
int is_graphic_console(void);
CharDriverState *text_console_init(DisplayState *ds);
void console_select(unsigned int index);
Index: ioemu/vnc.c
===================================================================
---- ioemu.orig/vnc.c 2006-07-27 11:17:00.875121644 +0100
-+++ ioemu/vnc.c 2006-07-27 11:17:01.032104266 +0100
+--- ioemu.orig/vnc.c 2006-08-04 10:42:27.108154056 +0100
++++ ioemu/vnc.c 2006-08-04 10:42:27.272135106 +0100
@@ -1002,3 +1002,25 @@
vnc_dpy_resize(vs->ds, 640, 400);
+}
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-07-27 11:17:00.874121755 +0100
-+++ ioemu/vl.c 2006-07-27 11:17:01.035103934 +0100
+--- ioemu.orig/vl.c 2006-08-04 10:42:27.107154171 +0100
++++ ioemu/vl.c 2006-08-04 10:42:27.276134644 +0100
@@ -121,6 +121,7 @@
int bios_size;
static DisplayState display_state;
const char* keyboard_layout = NULL;
int64_t ticks_per_sec;
int boot_device = 'c';
-@@ -4802,6 +4803,7 @@
+@@ -4804,6 +4805,7 @@
#endif
"-loadvm file start right away with a saved state (loadvm in monitor)\n"
"-vnc display start a VNC server on display\n"
+ "-vncviewer start a vncviewer process for this domain\n"
"-timeoffset time offset (in seconds) from local time\n"
+ "-acpi disable or enable ACPI of HVM domain \n"
"\n"
- "During emulation, the following keys are useful:\n"
-@@ -4890,6 +4892,7 @@
+@@ -4893,6 +4895,7 @@
QEMU_OPTION_usbdevice,
QEMU_OPTION_smp,
QEMU_OPTION_vnc,
QEMU_OPTION_d,
QEMU_OPTION_vcpus,
-@@ -4965,6 +4968,7 @@
+@@ -4969,6 +4972,7 @@
{ "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice },
{ "smp", HAS_ARG, QEMU_OPTION_smp },
{ "vnc", HAS_ARG, QEMU_OPTION_vnc },
/* temporary options */
{ "usb", 0, QEMU_OPTION_usb },
-@@ -5295,6 +5299,7 @@
+@@ -5300,6 +5304,7 @@
#endif
snapshot = 0;
nographic = 0;
kernel_filename = NULL;
kernel_cmdline = "";
#ifdef TARGET_PPC
-@@ -5664,6 +5669,9 @@
+@@ -5669,6 +5674,9 @@
exit(1);
}
break;
case QEMU_OPTION_domainname:
strncat(domain_name, optarg, sizeof(domain_name) - 20);
break;
-@@ -5911,6 +5919,8 @@
+@@ -5919,6 +5927,8 @@
dumb_display_init(ds);
} else if (vnc_display != -1) {
vnc_display_init(ds, vnc_display);
sdl_display_init(ds, full_screen);
Index: ioemu/vl.h
===================================================================
---- ioemu.orig/vl.h 2006-07-27 11:17:00.875121644 +0100
-+++ ioemu/vl.h 2006-07-27 11:17:01.036103823 +0100
-@@ -733,6 +733,7 @@
+--- ioemu.orig/vl.h 2006-08-04 10:42:27.108154056 +0100
++++ ioemu/vl.h 2006-08-04 10:42:27.277134528 +0100
+@@ -734,6 +734,7 @@
/* vnc.c */
void vnc_display_init(DisplayState *ds, int display);
Index: ioemu/Makefile.target
===================================================================
---- ioemu.orig/Makefile.target 2006-08-03 17:57:38.861210420 +0100
-+++ ioemu/Makefile.target 2006-08-03 17:58:02.317549891 +0100
+--- ioemu.orig/Makefile.target 2006-08-04 10:42:26.718199119 +0100
++++ ioemu/Makefile.target 2006-08-04 10:42:27.563101483 +0100
@@ -336,6 +336,7 @@
VL_OBJS+= fdc.o mc146818rtc.o serial.o pc.o
VL_OBJS+= cirrus_vga.o mixeng.o parallel.o
Index: ioemu/xenstore.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/xenstore.c 2006-08-03 17:58:02.326548870 +0100
++++ ioemu/xenstore.c 2006-08-04 10:42:27.564101367 +0100
@@ -0,0 +1,187 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General
+}
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-08-03 17:57:38.867209740 +0100
-+++ ioemu/vl.c 2006-08-03 17:58:02.323549210 +0100
-@@ -4709,9 +4709,11 @@
+--- ioemu.orig/vl.c 2006-08-04 10:42:27.276134644 +0100
++++ ioemu/vl.c 2006-08-04 10:42:27.567101020 +0100
+@@ -4711,9 +4711,11 @@
"Standard options:\n"
"-M machine select emulated machine (-M ? for list)\n"
"-fda/-fdb file use 'file' as floppy disk 0/1 image\n"
"-boot [a|c|d] boot on floppy (a), hard disk (c) or CD-ROM (d)\n"
"-snapshot write to temporary files instead of disk image files\n"
"-m megs set virtual RAM size to megs MB [default=%d]\n"
-@@ -4841,11 +4843,13 @@
+@@ -4844,11 +4846,13 @@
QEMU_OPTION_M,
QEMU_OPTION_fda,
QEMU_OPTION_fdb,
QEMU_OPTION_boot,
QEMU_OPTION_snapshot,
QEMU_OPTION_m,
-@@ -4911,11 +4915,13 @@
+@@ -4915,11 +4919,13 @@
{ "M", HAS_ARG, QEMU_OPTION_M },
{ "fda", HAS_ARG, QEMU_OPTION_fda },
{ "fdb", HAS_ARG, QEMU_OPTION_fdb },
{ "boot", HAS_ARG, QEMU_OPTION_boot },
{ "snapshot", 0, QEMU_OPTION_snapshot },
{ "m", HAS_ARG, QEMU_OPTION_m },
-@@ -5250,10 +5256,16 @@
+@@ -5255,10 +5261,16 @@
#ifdef CONFIG_GDBSTUB
int use_gdbstub, gdbstub_port;
#endif
const char *kernel_filename, *kernel_cmdline;
DisplayState *ds = &display_state;
int cyls, heads, secs, translation;
-@@ -5288,8 +5300,10 @@
+@@ -5293,8 +5305,10 @@
initrd_filename = NULL;
for(i = 0; i < MAX_FD; i++)
fd_filename[i] = NULL;
ram_size = DEFAULT_RAM_SIZE * 1024 * 1024;
vga_ram_size = VGA_RAM_SIZE;
bios_size = BIOS_SIZE;
-@@ -5302,11 +5316,13 @@
+@@ -5307,11 +5321,13 @@
vncviewer = 0;
kernel_filename = NULL;
kernel_cmdline = "";
cyls = heads = secs = 0;
translation = BIOS_ATA_TRANSLATION_AUTO;
pstrcpy(monitor_device, sizeof(monitor_device), "vc");
-@@ -5339,7 +5355,11 @@
+@@ -5344,7 +5360,11 @@
break;
r = argv[optind];
if (r[0] != '-') {
} else {
const QEMUOption *popt;
-@@ -5383,6 +5403,7 @@
+@@ -5388,6 +5408,7 @@
case QEMU_OPTION_initrd:
initrd_filename = optarg;
break;
case QEMU_OPTION_hda:
case QEMU_OPTION_hdb:
case QEMU_OPTION_hdc:
-@@ -5395,6 +5416,7 @@
+@@ -5400,6 +5421,7 @@
cdrom_index = -1;
}
break;
case QEMU_OPTION_snapshot:
snapshot = 1;
break;
-@@ -5447,11 +5469,13 @@
+@@ -5452,11 +5474,13 @@
case QEMU_OPTION_append:
kernel_cmdline = optarg;
break;
case QEMU_OPTION_boot:
boot_device = optarg[0];
if (boot_device != 'a' &&
-@@ -5690,12 +5714,18 @@
+@@ -5698,12 +5722,18 @@
}
}
if (!linux_boot &&
hd_filename[0] == '\0' &&
(cdrom_index >= 0 && hd_filename[cdrom_index] == '\0') &&
-@@ -5709,6 +5739,7 @@
+@@ -5717,6 +5747,7 @@
else
boot_device = 'd';
}
#if !defined(CONFIG_SOFTMMU)
/* must avoid mmap() usage of glibc by setting a buffer "by hand" */
-@@ -5848,6 +5879,7 @@
+@@ -5856,6 +5887,7 @@
#endif /* !CONFIG_DM */
/* we always create the cdrom drive, even if no disk is there */
bdrv_init();
if (cdrom_index >= 0) {
-@@ -5874,6 +5906,7 @@
+@@ -5882,6 +5914,7 @@
}
}
}
/* we always create at least one floppy disk */
fd_table[0] = bdrv_new("fda");
-@@ -6009,6 +6042,8 @@
+@@ -6017,6 +6050,8 @@
#endif
init_timers();
kernel_filename, kernel_cmdline, initrd_filename,
Index: ioemu/monitor.c
===================================================================
---- ioemu.orig/monitor.c 2006-08-03 17:57:38.864210080 +0100
-+++ ioemu/monitor.c 2006-08-03 17:58:02.321549437 +0100
+--- ioemu.orig/monitor.c 2006-08-04 10:42:25.965286125 +0100
++++ ioemu/monitor.c 2006-08-04 10:42:27.568100905 +0100
@@ -24,6 +24,7 @@
#include "vl.h"
#include "disas.h"
int i;
Index: ioemu/block.c
===================================================================
---- ioemu.orig/block.c 2006-08-03 17:57:38.861210420 +0100
-+++ ioemu/block.c 2006-08-03 17:58:02.318549777 +0100
+--- ioemu.orig/block.c 2006-08-04 10:42:19.406044135 +0100
++++ ioemu/block.c 2006-08-04 10:42:27.568100905 +0100
@@ -750,6 +750,7 @@
static void raw_close(BlockDriverState *bs)
{
Index: ioemu/vl.h
===================================================================
---- ioemu.orig/vl.h 2006-08-03 17:57:38.868209627 +0100
-+++ ioemu/vl.h 2006-08-03 17:58:02.324549097 +0100
-@@ -1092,6 +1092,8 @@
+--- ioemu.orig/vl.h 2006-08-04 10:42:27.277134528 +0100
++++ ioemu/vl.h 2006-08-04 10:42:27.569100789 +0100
+@@ -1093,6 +1093,8 @@
void term_print_help(void);
void monitor_readline(const char *prompt, int is_password,
char *buf, int buf_size);
/* readline.c */
typedef void ReadLineFunc(void *opaque, const char *str);
-@@ -1104,6 +1106,13 @@
+@@ -1105,6 +1107,13 @@
void readline_start(const char *prompt, int is_password,
ReadLineFunc *readline_func, void *opaque);
extern char domain_name[];
Index: ioemu/hw/ide.c
===================================================================
---- ioemu.orig/hw/ide.c 2006-08-03 17:57:38.863210194 +0100
-+++ ioemu/hw/ide.c 2006-08-03 17:58:02.319549664 +0100
+--- ioemu.orig/hw/ide.c 2006-08-04 10:42:26.391236902 +0100
++++ ioemu/hw/ide.c 2006-08-04 10:42:27.571100558 +0100
@@ -1279,6 +1279,7 @@
} else {
ide_atapi_cmd_error(s, SENSE_NOT_READY,
Index: ioemu/xenstore.c
===================================================================
---- ioemu.orig/xenstore.c 2006-08-03 19:17:18.496119877 +0100
-+++ ioemu/xenstore.c 2006-08-03 19:18:29.428258503 +0100
+--- ioemu.orig/xenstore.c 2006-08-04 10:42:27.564101367 +0100
++++ ioemu/xenstore.c 2006-08-04 10:42:27.771077449 +0100
@@ -185,3 +185,31 @@
free(image);
free(vec);
+}
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-08-03 19:17:18.499119544 +0100
-+++ ioemu/vl.c 2006-08-03 19:18:29.427258614 +0100
-@@ -5954,6 +5954,7 @@
+--- ioemu.orig/vl.c 2006-08-04 10:42:27.567101020 +0100
++++ ioemu/vl.c 2006-08-04 10:42:27.774077103 +0100
+@@ -5962,6 +5962,7 @@
vnc_display_init(ds, vnc_display);
if (vncviewer)
vnc_start_viewer(vnc_display);
sdl_display_init(ds, full_screen);
Index: ioemu/vl.h
===================================================================
---- ioemu.orig/vl.h 2006-08-03 19:17:18.501119323 +0100
-+++ ioemu/vl.h 2006-08-03 19:18:29.428258503 +0100
-@@ -1111,6 +1111,7 @@
+--- ioemu.orig/vl.h 2006-08-04 10:42:27.569100789 +0100
++++ ioemu/vl.h 2006-08-04 10:42:27.775076987 +0100
+@@ -1112,6 +1112,7 @@
int xenstore_fd(void);
void xenstore_process_event(void *opaque);
void xenstore_check_new_media_present(int timeout);